package com.cnap.db.mapper;

import com.cnap.db.entity.DeployClusterPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 集群信息mapper
 *
 * @author xc
 **/
@Mapper
@Component
public interface DeployClusterMapper {


    /**
     * 插入集群信息
     *
     * @param deployClusterPO 集群信息
     * @return 结果
     */
    int insertDeployCluster(@Param("clusterInfo") DeployClusterPO deployClusterPO);

    /**
     * 根据服务id删除
     *
     * @param svcId 服务id
     * @return 结果
     */
    int deleteClusterInfoBySvcId(@Param("svcId") String svcId);

    /**
     * 根据服务id和集群名称删除
     *
     * @param svcId       服务id
     * @param clusterName 集群名称
     * @return 结果
     */
    int deleteClusterInfoBySvcIdAndClusterName(@Param("svcId") String svcId, @Param("clusterName") String clusterName);

    /**
     * 根据微服务id查询
     *
     * @param svcId 微服务id
     * @return 结果
     */
    List<DeployClusterPO> selectBySvcId(@Param("svcId") String svcId);

    /**
     * 根据id查询
     *
     * @param id id
     * @return 结果
     */
    DeployClusterPO selectById(@Param("id") String id);

}
